x = 2
y = 3
z = 5
z = x + 5  - y*3 / z**2       
s = not  y*3 >  x+5   and   x == y

def factors(num, fac=[]):
    if num <= 0:
        raise ValueError("Number must be positive.")
    if num == 1:
        return fac

    # 每次都从2开始查找因数
    for i in range(2, int(num**0.5) + 1):
        # 找到一个因数
        if num % i == 0:
            fac.append(i)
            # 对商继续分解，重复这个过程
            return factors(num // i, fac)
    
    # 不可分解了，自身也是个因数
    fac.append(num)
    return fac
facs = []
n = 22828
factors(n, facs)
result = '*'.join(map(str, facs))
if n==eval(result):
    print(n, '= '+result)
